﻿using System;
using System.Collections.Generic;
using System.Text;

namespace AdaptiveAgents.Tools
{
    class ProbabilitiesMatrix
    {
        private double m_d0to0;
        private double m_d0to1;
        private double m_d0to2;

        private double m_d1to0;
        private double m_d1to1;
        private double m_d1to2;

        private double m_d2to0;
        private double m_d2to1;
        private double m_d2to2;

        public ProbabilitiesMatrix() { }
        public ProbabilitiesMatrix(double a0t0, double a0t1, double a0t2, double a1t0, double a1t1, double a1t2, double a2t0, double a2t1, double a2t2)
        {
            m_d0to0 = a0t0;
            m_d0to1 = a0t1;
            m_d0to2 = a0t2;

            m_d1to0 = a1t0;
            m_d1to1 = a1t1;
            m_d1to2 = a1t2;

            m_d2to0 = a2t0;
            m_d2to1 = a2t1;
            m_d2to2 = a2t2;
        }


        public ProbabilitiesMatrix clone()
        {
            ProbabilitiesMatrix temp = new ProbabilitiesMatrix();
            temp.setProbability0to0(m_d0to0);
            temp.setProbability0to1(m_d0to1);
            temp.setProbability0to2(m_d0to2);

            temp.setProbability1to0(m_d1to0);
            temp.setProbability1to1(m_d1to1);
            temp.setProbability1to2(m_d1to2);

            temp.setProbability2to0(m_d2to0);
            temp.setProbability2to1(m_d2to1);
            temp.setProbability2to2(m_d2to2);

            return temp;
        }





        public void setProbability0to0(double probab)
        {
            m_d0to0 = probab;
        }

        public void setProbability0to1(double probab)
        {
            m_d0to1 = probab;
        }

        public void setProbability0to2(double probab)
        {
            m_d0to2 = probab;
        }

        public void setProbability1to0(double probab)
        {
            m_d1to0 = probab;
        }

        public void setProbability1to1(double probab)
        {
            m_d1to1 = probab;
        }

        public void setProbability1to2(double probab)
        {
            m_d1to2 = probab;
        }

        public void setProbability2to0(double probab)
        {
            m_d2to0 = probab;
        }

        public void setProbability2to1(double probab)
        {
            m_d2to1 = probab;
        }

        public void setProbability2to2(double probab)
        {
            m_d2to2 = probab;
        }



        public double getProbability0to0()
        {
            return m_d0to0;
        }

        public double getProbability0to1()
        {
            return m_d0to1;
        }

        public double getProbability0to2()
        {
            return m_d0to2;
        }

        public double getProbability1to0()
        {
            return m_d1to0;
        }

        public double getProbability1to1()
        {
            return m_d1to1;
        }

        public double getProbability1to2()
        {
            return m_d1to2;
        }

        public double getProbability2to0()
        {
            return m_d2to0;
        }

        public double getProbability2to1()
        {
            return m_d2to1;
        }

        public double getProbability2to2()
        {
            return m_d2to2;
        }








    }
}
